// import 'package:flutter/material.dart';
// import 'package:flutter/services.dart';
// import 'package:myfile_app/components/global.dart';
// import 'package:myfile_app/models/user.dart';
// import 'package:myfile_app/routes/main.dart';
// import 'package:oktoast/oktoast.dart';
// import 'package:provider/provider.dart';

// class LoginRoute extends StatefulWidget {
//   const LoginRoute({super.key});

//   @override
//   _LoginRouteState createState() => _LoginRouteState();
// }

// class _LoginRouteState extends State<LoginRoute> {
//   final TextEditingController _unameController = TextEditingController();
//   final TextEditingController _pwdController = TextEditingController();
//   bool pwdShow = false; //密码是否显示明文
//   final GlobalKey _formKey = GlobalKey<FormState>();
//   bool _nameAutoFocus = true;
//   final FocusNode _focusNode = FocusNode();

//   @override
//   void initState() {
//     // 自动填充上次登录的用户名，填充后将焦点定位到密码输入框
//     // _unameController.text = Global.profile.lastLogin;
//     _nameAutoFocus = false;
//     super.initState();
//   }

//   @override
//   Widget build(BuildContext context) {
//     // var gm = GmLocalizations.of(context);
//     return KeyboardListener(
//       focusNode: _focusNode,
//       onKeyEvent: (value) {
//         if (value.logicalKey == LogicalKeyboardKey.enter) {
//           // _onLogin()
//           // var button = _formKey.currentState?.widget;
//           // if(button is ElevatedButton) {
//           //   button.
//           // }
//           // _formKey.currentState.onPressed();
//           // print(_formKey.currentState);
//           _onLogin();
//         }
//       },
//       child: Scaffold(
//         // appBar: AppBar(title: Text(gm.login)),
//         appBar: AppBar(title: const Text('登陆')),
//         body: Padding(
//           padding: const EdgeInsets.all(16.0),
//           child: Form(
//             key: _formKey,
//             autovalidateMode: AutovalidateMode.always,
//             child: Column(
//               children: <Widget>[
//                 TextFormField(
//                   autofocus: _nameAutoFocus,
//                   controller: _unameController,
//                   decoration: const InputDecoration(
//                     // labelText: gm.userName,
//                     // hintText: gm.userNameOrEmail,
//                     labelText: '用户名',
//                     hintText: '请输入用户名',
//                     prefixIcon: Icon(Icons.person),
//                   ),
//                   // 校验用户名（不能为空）
//                   validator: (v) {
//                     // return v?.trim().isNotEmpty ? null : gm.userNameRequired;
//                     return v!.trim().isNotEmpty ? null : '请填写用户名';
//                   },
//                 ),
//                 TextFormField(
//                   controller: _pwdController,
//                   autofocus: !_nameAutoFocus,
//                   decoration: InputDecoration(
//                     // labelText: gm.password,
//                     // hintText: gm.password,
//                     labelText: '密码',
//                     hintText: '请输入密码',
//                     prefixIcon: const Icon(Icons.lock),
//                     suffixIcon: IconButton(
//                       icon: Icon(
//                         pwdShow ? Icons.visibility_off : Icons.visibility,
//                       ),
//                       onPressed: () {
//                         setState(() {
//                           pwdShow = !pwdShow;
//                         });
//                       },
//                     ),
//                   ),
//                   obscureText: !pwdShow,
//                   //校验密码（不能为空）
//                   validator: (v) {
//                     // return v!.trim().isNotEmpty ? null : gm.passwordRequired;
//                     return v!.trim().isNotEmpty ? null : '请输入密码';
//                   },
//                 ),
//                 Padding(
//                   padding: const EdgeInsets.only(top: 25),
//                   child: ConstrainedBox(
//                     constraints: const BoxConstraints.expand(height: 55.0),
//                     child: ElevatedButton(
//                       // key: _formKey,
//                       // color: Theme.of(context).primaryColor,
//                       onPressed: _onLogin,
//                       // textColor: Colors.white,
//                       style: const ButtonStyle(),
//                       // child: Text(gm.login),
//                       child: const Text('登陆'),
//                     ),
//                   ),
//                 ),
//               ],
//             ),
//           ),
//         ),
//       ),
//     );
//   }

//   void _onLogin() async {
//     // 提交前，先验证各个表单字段是否合法
//     if ((_formKey.currentState as FormState).validate()) {
//       showLoading(context);
//       User? user;
//       try {
//         user = await MyFileHttp(
//           context,
//         ).login(_unameController.text, _pwdController.text);
//         if (user == null) {
//           showToast("登录失败");
//           return;
//         }
//         // 因为登录页返回后，首页会build，所以我们传false，更新user后不触发更新
//         Provider.of<UserModel>(context, listen: false).user = user;
//         Global.logger.d(user.username);
//         // MyFileHttp(context)
//         //     .login(_unameController.text, _pwdController.text)
//         //     .then((value) {
//         //   user = value;
//         //   Provider.of<UserModel>(context, listen: false).user = user;
//         //   print(user?.username);
//         // });
//       } catch (e, s) {
//         Global.logger.d('$e\n$s');
//         showToast("$e", context: context);
//         //登录失败则提示
//         // if (e.response.statusCode == 401) {
//         //   showToast(GmLocalizations.of(context).userNameOrPasswordWrong);
//         // } else {
//         //   showToast(e.toString());
//         // }
//       } finally {
//         // 隐藏loading框
//         Navigator.of(context).pop();
//       }
//       if (user != null) {
//         // 返回
//         Navigator.of(context).pop();
//       }
//     }
//   }
// }
